/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.subway.beansSesion;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import org.subway.mantenimientos.conexion;
import org.subway.persistencias.UsuarioRol;
import org.subway.utilitarios.EncriptacionDatos;

/**
 *
 * @author Gylmar Gonzalez Desarrollado para Hospital de Diagnostico @date
 * 08-may-2012
 */
@ManagedBean(name = "loginBean")
@SessionScoped
public class BeanLogin {
    
    private String usuario;
    private String pass;
    private String tipoUsuario;
    FacesContext contexto = FacesContext.getCurrentInstance();
    private EncriptacionDatos encriptacionDatos = new EncriptacionDatos();
    
    public String getPass() {
        return pass;
    }
    
    public void setPass(String pass) {
        this.pass = pass;
    }
    
    public String getUsuario() {
        return usuario;
    }
    
    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }
    
    public String getTipoUsuario() {
        return tipoUsuario;
    }
    
    public void setTipoUsuario(String tipoUsuario) {
        this.tipoUsuario = tipoUsuario;
    }
    
    public String login() throws SQLException {
        if (loginAccion()) {
            //crear sesion 
            return "correcto";
        } else {
            FacesContext.getCurrentInstance().addMessage("form1", new FacesMessage("Credenciales Incorrectas"));
            return "incorrecto";
        }        
    }
    
    private boolean loginAccion() throws SQLException {
        UsuarioRol urol = new UsuarioRol();
        conexion cone = new conexion();
        Statement Sentencias = null;
        ResultSet tabla = null;
        Sentencias = cone.getConnection().createStatement();
        tabla = Sentencias.executeQuery("SELECT * FROM usuario_persona_rol WHERE usuarioNombre ='" + usuario + "'AND usuarioPassword ='" + pass + "'");
        while (tabla.next()) {
            tipoUsuario = urol.getUrolNombre();
            return true;
        }
        return false;
    }
    
    public String cerrarSesion() {
        HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
        session.removeAttribute("loginBean");
        return "cerrar";
    }
}
